# -*- coding: utf-8 -*-
import math
def gerar_cubos(N):
    for i in range(N):
        yield i ** 3
def gerar_quad(N):
    for i in range(N):
        yield i ** 2
def raiz(x, y):
    return math.sqrt(x + y)

lista = map(raiz, gerar_cubos(5), gerar_quad(5))
i = 0
while i < 5:
    print i, "->", math.sqrt(i ** 3 + i ** 2), "==", lista[i]
    i += 1
